<template>
  <div>
    <!-- 我们不知道 什么时候能拿到 max 值， 但是，总归有一刻会得到一个真正的 max 值 -->
    <!-- 我们可以使用 watch 这个属性 来监听 父组件传递过来的 max 值，不管 watch 会被触发几次 但是最后一次 肯定是一个 合法的 max 数值 -->
    <div class="mui-numbox" data-numbox-min="1">
      <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
      <input id="test" class="mui-input-numbox" type="number" value="1" @change="countChanged" ref="numbox"/>
      <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
    </div>

    <!-- 分析 子组件什么时候把 数据传递给父组件 -->
  </div>
</template>

<script>
import mui from '../../lib/mui/js/mui.js'

export default {
  mounted () {
    // 初始化数字选择框组件
    mui('.mui_numbox').numbox()
  },
  methods: {
    countChanged () {
      // 每当文本框的值被改变的时候  立即把最新的数据 通过 事件调用 传递给 父组件
      // console.log(this.$refs.numbox.value);
      this.$emit('getCount', parseInt(this.$refs.numbox.value))
    }
  },
  props: ["max"],
  watch: {
    // 属性监听
    max: function(newVal, oldVal) {
      // 使用 js api 设置 numbox
      mui(".mui-numbox").numbox().setOption('max', newVal)
    }
  }
}
</script>

<style lang="scss" scoped>
</style>